package locations.actions;

import locations.dao.implement.PacientDAOHibernateJPA;
import locations.model.HistoriaSocial;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import java.util.Date;
import locations.model.Servicio;

public class NewFichaSocial2Action extends ActionSupport {

    private static final long serialVersionUID = 1L;
    private String motivo;
    private Servicio servicio;
    private String sala;
    private String hc;
    private String diagnostico;
    private Date fechaDeIngreso;
    private HistoriaSocial historiaSocial;

    public String execute() {
            historiaSocial = (HistoriaSocial) ActionContext.getContext().getSession().get("fichaSocial");
            historiaSocial.setMotivo(motivo);
            historiaSocial.setServicio(servicio);
            historiaSocial.setSala(sala);
            historiaSocial.setHc(hc);
            historiaSocial.setDiagnosticoMedico(diagnostico);
            historiaSocial.setFechaIngresoHospital(fechaDeIngreso);
            
            PacientDAOHibernateJPA dao = new PacientDAOHibernateJPA();
    		dao.save(historiaSocial.getPaciente());
    		
            return SUCCESS;
    }

    public String getMotivo() {
            return motivo;
    }

    public void setMotivo(String motivo) {
            this.motivo = motivo;
    }

    public String getSala() {
            return sala;
    }

    public void setSala(String sala) {
            this.sala = sala;
    }

    public String getHc() {
            return hc;
    }

    public void setHc(String hc) {
            this.hc = hc;
    }

    public String getDiagnostico() {
            return diagnostico;
    }

    public void setDiagnostico(String diagnostico) {
            this.diagnostico = diagnostico;
    }

    public Date getFechaDeIngreso() {
            return fechaDeIngreso;
    }

    public void setFechaDeIngreso(Date fechaDeIngreso) {
            this.fechaDeIngreso = fechaDeIngreso;
    }

    public static long getSerialversionuid() {
            return serialVersionUID;
    }

    public Servicio getServicio() {
            return servicio;
    }

    public void setServicio(Servicio servicio) {
            this.servicio = servicio;
    }

    public HistoriaSocial getHistoriaSocial() {
            return historiaSocial;
    }

    public void setHistoriaSocial(HistoriaSocial historiaSocial) {
            this.historiaSocial = historiaSocial;
    }
    
    public void validate()
    {
        boolean ok = true;
        if (this.getMotivo().equals(""))
        {
            addFieldError("motivo", "El motivo no puede estar en blanco");
            ok = false;
        }
        if (this.getSala().equals(""))
        {
            addFieldError("sala", "La sala no puede estar en blanco");
            ok = false;
        }
        if (this.getHc().equals(""))
        {
            addFieldError("hc", "El historial clinico no puede estar en blanco");
            ok = false;
        }
        if (this.getDiagnostico().equals(""))
        {
            addFieldError("diagnostico", "El diagnostico no puede estar en blanco");
            ok = false;
        }
        if (this.getFechaDeIngreso() == null)
        {
            addFieldError("fechaIngreso", "La fecha de ingreso no puede estar en blanco");
            ok = false;
        }
    }

}
